const Cartlist={
    state:{
        cartitem:JSON.parse(localStorage.getItem("cart"))||[],
        allclick:false,
        totalPrice:0,
    },
    mutations:{
        getcart(state,item){
            var index=state.cartitem.findIndex((ele)=>{
                return ele.id ===item.id
            })
            if(index!=-1){
                state.cartitem[index].count++
            }else{
                item.count=1;
                item.checked=false;
                state.cartitem.push(item)
            }
            console.log(state.cartitem)
            localStorage.setItem("cart",JSON.stringify(state.cartitem))
        },
        // 单选
        radioinpval(state,item){
            state.cartitem.forEach((ele)=>{
                if(ele.id===item.id){
                    ele.checked=item.checked
                }
            })
            state.allclick=state.cartitem.every((ele)=>{
                return ele.checked===true
            })
            state.totalPrice=0
            state.cartitem.forEach((ele)=>{
                if(ele.checked===true){
                state.totalPrice+=ele.count*ele.minPrice
                }
            })
        },
        // 全选
        allinpval(state,item){
            state.allclick=item
                state.cartitem.forEach((ele)=>{
                    ele.checked=item
                })
                state.cartitem=[...state.cartitem]
                state.totalPrice=0
                state.cartitem.forEach((ele)=>{
                    if(ele.checked===true){
                    state.totalPrice+=ele.count*ele.minPrice
                }
            })
        },
        // 数量加
        addnum(state,item){
            state.cartitem.forEach((ele)=>{
                return ele.id===item.id
            })
            item.count++
            state.totalPrice=0
            state.cartitem.forEach((ele)=>{
                if(ele.checked===true){
                state.totalPrice+=ele.count*ele.minPrice
                }
            })
            localStorage.setItem("cart",JSON.stringify(state.cartitem))
        },
        // 数量减
        nummiu(state,item){
            state.cartitem.forEach((ele)=>{
                return ele.id===item.id
            })
            if(item.count===1){
                item.count=1
                return
            }
            item.count--;
            state.totalPrice=0
            state.cartitem.forEach((ele)=>{
                if(ele.checked===true){
                state.totalPrice+=ele.count*ele.minPrice
                }
            })
            localStorage.setItem("cart",JSON.stringify(state.cartitem))
        } 
    },
    actions:{
        // 获取数据
        getcart(context,item){
            console.log(item)
            context.commit("getcart",item)
        },
        // 单选
        radioinpval(context,item){
            // console.log(item)
            context.commit("radioinpval",item)
        },
        // 全选
        allinpval(context,item){
            // console.log(item)
            context.commit("allinpval",item)
        },
        // 数量加
        addnum(context,item){
            context.commit("addnum",item)
        },
        // 数量减
        nummiu(context,item){
            context.commit("nummiu",item)
        }
    },
    modules:{

    }
}
export default Cartlist